Computers and computer-based devices have become a necessary tool for many applications throughout the world. Typewriters and slide rules have become obsolete in light of keyboards coupled with sophisticated word-processing applications and calculators that include advanced mathematical functions/capabilities. Moreover, computers that were once used solely for analyzing data have, over time, been transformed into multi-functional, multi-purpose machines utilized for contexts ranging from business applications to multi-media entertainment. Costs of such computing mechanisms have also trended downward, rendering personal computers ubiquitous throughout many portions of the world.
As computing devices have continued to develop and their use have become more widespread, peripherals associated with such devices have also become commonplace. For instance, typical computing devices include a plurality of ports into which peripherals can be attached and utilized in connection with the aforementioned computing devices. More particularly, attachable peripherals can include printers, keyboards, portable music/video players and recorders, cameras, video cards, speaker systems, personal digital assistants (PDAs), portable telephones, or any other suitable computer peripheral. These devices can be physically coupled to a computing device by way of ports (e.g., USB ports, printer ports, . . . ), or can be communicatively coupled over a wireless link. This interaction of peripherals with computing devices has rendered such computing devices even more valuable in terms of user efficiency.
Plug-and-play is one exemplary manner of configuring a computer peripheral to operate desirably with a computing device. Plug-and-play typically requires support in both a hardware device (e.g., a peripheral) coupled to a computing device and in software associated with such device. Hardware devices are typically associated with an identification number or sequence that uniquely identifies the type of hardware device. For instance, a sequence of bits, a name, a serial number, or the like can be employed to uniquely identify the type of hardware device. A computer bus driver then recognizes that a particular type of hardware device has been coupled to the computing device and transmits the device ID to a plug-and-play manager that locates a software driver for the device for installation. The appropriate device driver is then loaded into an operating system of the computing device to enable utilization of the hardware that is desirably being utilized.
This approach of determining a unique identification, however, is associated with various deficiencies that render plug-and-play less than optimal for several hardware devices. For instance, a single vendor can manufacture a peripheral that is to operate in conjunction with any suitable computing device. In reality, however, the peripheral may operate differently given different computer manufacturers. For example, the hardware device may operate as desired for one brand of computing device while operating inadequately for another computing device. Due to the simplistic matching mechanism utilized in connection with plug-and-play, however, there is currently no way to provide granular instructions with respect to finding the proper driver to install and load for the device.
Accordingly, there exists a need in the art for systems and/or methodologies for improving operability of plug-and-play devices.